package com.jt;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisDataSource {
    private static final String HOST = "192.168.126.128";
    private static final int PORT = 6379;
    //volatile /*
    // 禁止指令重排序，可以修饰属性
    // 可以保证其可见性（一个线程修改了值，其他线程可见）
    // 不能保证原子性*/
    private  static volatile JedisPool jedisPool;
//    static {
//        JedisPoolConfig poolConfig = new JedisPoolConfig();
//        poolConfig.setMaxTotal(1000);
//        poolConfig.setMaxIdle(60);
//        jedisPool = new JedisPool(HOST,PORT);
//    }
//    public static Jedis getConnection(){
//
//        return jedisPool.getResource();
//
//    }
    public static Jedis getConnection(){
        if (jedisPool == null){
            synchronized (JedisDataSource.class){
                if (jedisPool == null){
                    JedisPoolConfig poolConfig = new JedisPoolConfig();
                    poolConfig.setMaxTotal(1000);
                    poolConfig.setMaxIdle(60);
                    jedisPool = new JedisPool(HOST,PORT);
                }
            }
        }
        return jedisPool.getResource();

    }
    public static void close(){
        jedisPool.close();
    }
}
